Motion estimation is a useful tool in many aspects of image processing. Motion estimation is used in video compression (for example MPEG2). Motion estimation is also useful in identifying those portions of an image that may require updating on a display. Motion estimation further permits various portions of an image to have assigned to them motion vectors, for example as metadata, that are interpretable to provide for enhanced image processing. Motion detection may also be used for object tracking and content analysis and many other computer vision applications.
Known arrangements for performing motion estimation of video images typically use one of the following methods:
(i) estimation of illumination partial derivatives in combination with optical flow;
(ii) local (block based) calculation of a cross-correlation between successive images and using maxima to estimate the shift between images; or
(iii) estimation of the motion blur in any one image (using a variety of methods such as blind de-convolution, maximum likelihood estimation etc) to then use as a motion vector in optical flow.
One deficiency of existing motion estimation arrangements is that they operate between adjacent frames of an image sequence, or between odd and even fields of an interlaced image within such a sequence, As a consequence, known arrangements are limited to the image sampling rate either as frames or fields. However, motion may yet occur during the sampling of, or between, such frames or fields. Known arrangements also lack fine resolution of the magnitude of motion. For high quality reproduction, which includes consideration of issues such as storage efficiency, such motion is desired to be considered.